package com.imut.oa.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.imut.oa.common.PageResult;
import com.imut.oa.pojo.dto.*;
import com.imut.oa.pojo.entity.Expense;
import com.imut.oa.pojo.vo.ExpenseVO;

import java.util.List;

public interface ExpenseService extends IService<Expense> {
    /**
     * 分页获取报销列表
     * @param expensePageQueryDTO
     * @return
     */
    PageResult page(ExpensePageQueryDTO expensePageQueryDTO);
    /**
     * 更新报销状态
     * @param dto
     * @return
     */
    void updateStatus(ExpenseUpdateStatusDTO dto);
    /**
     * 删除报销记录
     * @param id
     * @return
     */
    int deleteById(Long id);
    /**
     * 提交报销申请
     * @param submitDTO
     */
    void submitExpense(ExpenseSubmitDTO submitDTO);

    PageResult getExpenseHistory(CommonUserPageQueryDTO commonUserPageQueryDTO);

    void cancelLeave(Long expenseId);
}